len が py3k でも 関数のままである理由
https://methane.hatenablog.jp/entry/20090721/1248195293
#methaneさん
結局は http://d.hatena.ne.jp/methane/20090702/1246556675 なんだけど、ソースを提示しておく。
リンクはlen が関数になっている理由
Python にメソッドを使う機能 (list.index() 等) と関数を使う機能 (len(list) 等) があるのはなぜですか?を参照
Python-3000 の仕様を決めるときに len() をメソッドにしようという話題が出て、Guido van Rossumが反対した。
1. len()の様にいろいろな型が使う一般的な概念の操作は、オブジェクト指向的なメソッドよりも数学的な演算子・関数の方が判りやすい。
いろいろな型が使う操作!
2. いろいろな型が使う一般的な操作が、通常の名前を使ってしまうと、その名前を知らないユーザーがその名前を使ってしまう。
Special methods and interface-based type system (Guido Nov 22 21:09:31 2006)
I see 'len' as a built-in operation.
I didn't want these special operations to use ordinary method names,
TODO:py3kってなんだろう?